// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _SOC_GPIO_SIG_MAP_H_
#define _SOC_GPIO_SIG_MAP_H_

#define SPICLK_IN_IDX            0
#define SPICLK_OUT_IDX            0
#define SPIQ_IN_IDX            1
#define SPIQ_OUT_IDX            1
#define SPID_IN_IDX            2
#define SPID_OUT_IDX            2
#define SPIHD_IN_IDX            3
#define SPIHD_OUT_IDX            3
#define SPIWP_IN_IDX            4
#define SPIWP_OUT_IDX            4
#define SPICS0_IN_IDX            5
#define SPICS0_OUT_IDX            5
#define SPICS1_IN_IDX            6
#define SPICS1_OUT_IDX            6
#define SPICS2_IN_IDX            7
#define SPICS2_OUT_IDX            7
#define HSPICLK_IN_IDX            8
#define HSPICLK_OUT_IDX            8
#define HSPIQ_IN_IDX            9
#define HSPIQ_OUT_IDX            9
#define HSPID_IN_IDX            10
#define HSPID_OUT_IDX            10
#define HSPICS0_IN_IDX            11
#define HSPICS0_OUT_IDX            11
#define HSPIHD_IN_IDX            12
#define HSPIHD_OUT_IDX            12
#define HSPIWP_IN_IDX            13
#define HSPIWP_OUT_IDX            13
#define U0RXD_IN_IDX            14
#define U0TXD_OUT_IDX            14
#define U0CTS_IN_IDX            15
#define U0RTS_OUT_IDX            15
#define U0DSR_IN_IDX            16
#define U0DTR_OUT_IDX            16
#define U1RXD_IN_IDX            17
#define U1TXD_OUT_IDX            17
#define U1CTS_IN_IDX            18
#define U1RTS_OUT_IDX            18
#define I2CM_SCL_O_IDX            19
#define I2CM_SDA_I_IDX            20
#define I2CM_SDA_O_IDX            20
#define EXT_I2C_SCL_O_IDX            21
#define EXT_I2C_SDA_O_IDX            22
#define EXT_I2C_SDA_I_IDX            22
#define I2S0O_BCK_IN_IDX            23
#define I2S0O_BCK_OUT_IDX            23
#define I2S1O_BCK_IN_IDX            24
#define I2S1O_BCK_OUT_IDX            24
#define I2S0O_WS_IN_IDX            25
#define I2S0O_WS_OUT_IDX            25
#define I2S1O_WS_IN_IDX            26
#define I2S1O_WS_OUT_IDX            26
#define I2S0I_BCK_IN_IDX            27
#define I2S0I_BCK_OUT_IDX            27
#define I2S0I_WS_IN_IDX            28
#define I2S0I_WS_OUT_IDX            28
#define I2CEXT0_SCL_IN_IDX            29
#define I2CEXT0_SCL_OUT_IDX            29
#define I2CEXT0_SDA_IN_IDX            30
#define I2CEXT0_SDA_OUT_IDX            30
#define PWM0_SYNC0_IN_IDX            31
#define SDIO_TOHOST_INT_OUT_IDX            31
#define PWM0_SYNC1_IN_IDX            32
#define PWM0_OUT0A_IDX            32
#define PWM0_SYNC2_IN_IDX            33
#define PWM0_OUT0B_IDX            33
#define PWM0_F0_IN_IDX            34
#define PWM0_OUT1A_IDX            34
#define PWM0_F1_IN_IDX            35
#define PWM0_OUT1B_IDX            35
#define PWM0_F2_IN_IDX            36
#define PWM0_OUT2A_IDX            36
#define GPIO_BT_ACTIVE_IDX            37
#define PWM0_OUT2B_IDX            37
#define GPIO_BT_PRIORITY_IDX            38
#define PCNT_SIG_CH0_IN0_IDX            39
#define PCNT_SIG_CH1_IN0_IDX            40
#define GPIO_WLAN_ACTIVE_IDX            40
#define PCNT_CTRL_CH0_IN0_IDX            41
#define BB_DIAG0_IDX            41
#define PCNT_CTRL_CH1_IN0_IDX            42
#define BB_DIAG1_IDX            42
#define PCNT_SIG_CH0_IN1_IDX            43
#define BB_DIAG2_IDX            43
#define PCNT_SIG_CH1_IN1_IDX            44
#define BB_DIAG3_IDX            44
#define PCNT_CTRL_CH0_IN1_IDX            45
#define BB_DIAG4_IDX            45
#define PCNT_CTRL_CH1_IN1_IDX            46
#define BB_DIAG5_IDX            46
#define PCNT_SIG_CH0_IN2_IDX            47
#define BB_DIAG6_IDX            47
#define PCNT_SIG_CH1_IN2_IDX            48
#define BB_DIAG7_IDX            48
#define PCNT_CTRL_CH0_IN2_IDX            49
#define BB_DIAG8_IDX            49
#define PCNT_CTRL_CH1_IN2_IDX            50
#define BB_DIAG9_IDX            50
#define PCNT_SIG_CH0_IN3_IDX            51
#define BB_DIAG10_IDX            51
#define PCNT_SIG_CH1_IN3_IDX            52
#define BB_DIAG11_IDX            52
#define PCNT_CTRL_CH0_IN3_IDX            53
#define BB_DIAG12_IDX            53
#define PCNT_CTRL_CH1_IN3_IDX            54
#define BB_DIAG13_IDX            54
#define PCNT_SIG_CH0_IN4_IDX            55
#define BB_DIAG14_IDX            55
#define PCNT_SIG_CH1_IN4_IDX            56
#define BB_DIAG15_IDX            56
#define PCNT_CTRL_CH0_IN4_IDX            57
#define BB_DIAG16_IDX            57
#define PCNT_CTRL_CH1_IN4_IDX            58
#define BB_DIAG17_IDX            58
#define BB_DIAG18_IDX            59
#define BB_DIAG19_IDX            60
#define HSPICS1_IN_IDX            61
#define HSPICS1_OUT_IDX            61
#define HSPICS2_IN_IDX            62
#define HSPICS2_OUT_IDX            62
#define VSPICLK_IN_IDX            63
#define VSPICLK_OUT_IDX            63
#define VSPIQ_IN_IDX            64
#define VSPIQ_OUT_IDX            64
#define VSPID_IN_IDX            65
#define VSPID_OUT_IDX            65
#define VSPIHD_IN_IDX            66
#define VSPIHD_OUT_IDX            66
#define VSPIWP_IN_IDX            67
#define VSPIWP_OUT_IDX            67
#define VSPICS0_IN_IDX            68
#define VSPICS0_OUT_IDX            68
#define VSPICS1_IN_IDX            69
#define VSPICS1_OUT_IDX            69
#define VSPICS2_IN_IDX            70
#define VSPICS2_OUT_IDX            70
#define PCNT_SIG_CH0_IN5_IDX            71
#define LEDC_HS_SIG_OUT0_IDX            71
#define PCNT_SIG_CH1_IN5_IDX            72
#define LEDC_HS_SIG_OUT1_IDX            72
#define PCNT_CTRL_CH0_IN5_IDX            73
#define LEDC_HS_SIG_OUT2_IDX            73
#define PCNT_CTRL_CH1_IN5_IDX            74
#define LEDC_HS_SIG_OUT3_IDX            74
#define PCNT_SIG_CH0_IN6_IDX            75
#define LEDC_HS_SIG_OUT4_IDX            75
#define PCNT_SIG_CH1_IN6_IDX            76
#define LEDC_HS_SIG_OUT5_IDX            76
#define PCNT_CTRL_CH0_IN6_IDX            77
#define LEDC_HS_SIG_OUT6_IDX            77
#define PCNT_CTRL_CH1_IN6_IDX            78
#define LEDC_HS_SIG_OUT7_IDX            78
#define PCNT_SIG_CH0_IN7_IDX            79
#define LEDC_LS_SIG_OUT0_IDX            79
#define PCNT_SIG_CH1_IN7_IDX            80
#define LEDC_LS_SIG_OUT1_IDX            80
#define PCNT_CTRL_CH0_IN7_IDX            81
#define LEDC_LS_SIG_OUT2_IDX            81
#define PCNT_CTRL_CH1_IN7_IDX            82
#define LEDC_LS_SIG_OUT3_IDX            82
#define RMT_SIG_IN0_IDX            83
#define LEDC_LS_SIG_OUT4_IDX            83
#define RMT_SIG_IN1_IDX            84
#define LEDC_LS_SIG_OUT5_IDX            84
#define RMT_SIG_IN2_IDX            85
#define LEDC_LS_SIG_OUT6_IDX            85
#define RMT_SIG_IN3_IDX            86
#define LEDC_LS_SIG_OUT7_IDX            86
#define RMT_SIG_IN4_IDX            87
#define RMT_SIG_OUT0_IDX            87
#define RMT_SIG_IN5_IDX            88
#define RMT_SIG_OUT1_IDX            88
#define RMT_SIG_IN6_IDX            89
#define RMT_SIG_OUT2_IDX            89
#define RMT_SIG_IN7_IDX            90
#define RMT_SIG_OUT3_IDX            90
#define RMT_SIG_OUT4_IDX            91
#define RMT_SIG_OUT5_IDX            92
#define EXT_ADC_START_IDX            93
#define RMT_SIG_OUT6_IDX            93
#define TWAI_RX_IDX            94
#define CAN_RX_IDX            TWAI_RX_IDX
#define RMT_SIG_OUT7_IDX            94
#define I2CEXT1_SCL_IN_IDX            95
#define I2CEXT1_SCL_OUT_IDX            95
#define I2CEXT1_SDA_IN_IDX            96
#define I2CEXT1_SDA_OUT_IDX            96
#define HOST_CARD_DETECT_N_1_IDX            97
#define HOST_CCMD_OD_PULLUP_EN_N_IDX            97
#define HOST_CARD_DETECT_N_2_IDX            98
#define HOST_RST_N_1_IDX            98
#define HOST_CARD_WRITE_PRT_1_IDX            99
#define HOST_RST_N_2_IDX            99
#define HOST_CARD_WRITE_PRT_2_IDX            100
#define GPIO_SD0_OUT_IDX            100
#define HOST_CARD_INT_N_1_IDX            101
#define GPIO_SD1_OUT_IDX            101
#define HOST_CARD_INT_N_2_IDX            102
#define GPIO_SD2_OUT_IDX            102
#define PWM1_SYNC0_IN_IDX            103
#define GPIO_SD3_OUT_IDX            103
#define PWM1_SYNC1_IN_IDX            104
#define GPIO_SD4_OUT_IDX            104
#define PWM1_SYNC2_IN_IDX            105
#define GPIO_SD5_OUT_IDX            105
#define PWM1_F0_IN_IDX            106
#define GPIO_SD6_OUT_IDX            106
#define PWM1_F1_IN_IDX            107
#define GPIO_SD7_OUT_IDX            107
#define PWM1_F2_IN_IDX            108
#define PWM1_OUT0A_IDX            108
#define PWM0_CAP0_IN_IDX            109
#define PWM1_OUT0B_IDX            109
#define PWM0_CAP1_IN_IDX            110
#define PWM1_OUT1A_IDX            110
#define PWM0_CAP2_IN_IDX            111
#define PWM1_OUT1B_IDX            111
#define PWM1_CAP0_IN_IDX            112
#define PWM1_OUT2A_IDX            112
#define PWM1_CAP1_IN_IDX            113
#define PWM1_OUT2B_IDX            113
#define PWM1_CAP2_IN_IDX            114
#define TWAI_TX_IDX            123
#define CAN_TX_IDX            TWAI_TX_IDX
#define TWAI_BUS_OFF_ON_IDX            124
#define CAN_BUS_OFF_ON_IDX            TWAI_BUS_OFF_ON_IDX
#define TWAI_CLKOUT_IDX            125
#define CAN_CLKOUT_IDX            TWAI_CLKOUT_IDX
#define SPID4_IN_IDX            128
#define SPID4_OUT_IDX            128
#define SPID5_IN_IDX            129
#define SPID5_OUT_IDX            129
#define SPID6_IN_IDX            130
#define SPID6_OUT_IDX            130
#define SPID7_IN_IDX            131
#define SPID7_OUT_IDX            131
#define HSPID4_IN_IDX            132
#define HSPID4_OUT_IDX            132
#define HSPID5_IN_IDX            133
#define HSPID5_OUT_IDX            133
#define HSPID6_IN_IDX            134
#define HSPID6_OUT_IDX            134
#define HSPID7_IN_IDX            135
#define HSPID7_OUT_IDX            135
#define VSPID4_IN_IDX            136
#define VSPID4_OUT_IDX            136
#define VSPID5_IN_IDX            137
#define VSPID5_OUT_IDX            137
#define VSPID6_IN_IDX            138
#define VSPID6_OUT_IDX            138
#define VSPID7_IN_IDX            139
#define VSPID7_OUT_IDX            139
#define I2S0I_DATA_IN0_IDX            140
#define I2S0O_DATA_OUT0_IDX            140
#define I2S0I_DATA_IN1_IDX            141
#define I2S0O_DATA_OUT1_IDX            141
#define I2S0I_DATA_IN2_IDX            142
#define I2S0O_DATA_OUT2_IDX            142
#define I2S0I_DATA_IN3_IDX            143
#define I2S0O_DATA_OUT3_IDX            143
#define I2S0I_DATA_IN4_IDX            144
#define I2S0O_DATA_OUT4_IDX            144
#define I2S0I_DATA_IN5_IDX            145
#define I2S0O_DATA_OUT5_IDX            145
#define I2S0I_DATA_IN6_IDX            146
#define I2S0O_DATA_OUT6_IDX            146
#define I2S0I_DATA_IN7_IDX            147
#define I2S0O_DATA_OUT7_IDX            147
#define I2S0I_DATA_IN8_IDX            148
#define I2S0O_DATA_OUT8_IDX            148
#define I2S0I_DATA_IN9_IDX            149
#define I2S0O_DATA_OUT9_IDX            149
#define I2S0I_DATA_IN10_IDX            150
#define I2S0O_DATA_OUT10_IDX            150
#define I2S0I_DATA_IN11_IDX            151
#define I2S0O_DATA_OUT11_IDX            151
#define I2S0I_DATA_IN12_IDX            152
#define I2S0O_DATA_OUT12_IDX            152
#define I2S0I_DATA_IN13_IDX            153
#define I2S0O_DATA_OUT13_IDX            153
#define I2S0I_DATA_IN14_IDX            154
#define I2S0O_DATA_OUT14_IDX            154
#define I2S0I_DATA_IN15_IDX            155
#define I2S0O_DATA_OUT15_IDX            155
#define I2S0O_DATA_OUT16_IDX            156
#define I2S0O_DATA_OUT17_IDX            157
#define I2S0O_DATA_OUT18_IDX            158
#define I2S0O_DATA_OUT19_IDX            159
#define I2S0O_DATA_OUT20_IDX            160
#define I2S0O_DATA_OUT21_IDX            161
#define I2S0O_DATA_OUT22_IDX            162
#define I2S0O_DATA_OUT23_IDX            163
#define I2S1I_BCK_IN_IDX            164
#define I2S1I_BCK_OUT_IDX            164
#define I2S1I_WS_IN_IDX            165
#define I2S1I_WS_OUT_IDX            165
#define I2S1I_DATA_IN0_IDX            166
#define I2S1O_DATA_OUT0_IDX            166
#define I2S1I_DATA_IN1_IDX            167
#define I2S1O_DATA_OUT1_IDX            167
#define I2S1I_DATA_IN2_IDX            168
#define I2S1O_DATA_OUT2_IDX            168
#define I2S1I_DATA_IN3_IDX            169
#define I2S1O_DATA_OUT3_IDX            169
#define I2S1I_DATA_IN4_IDX            170
#define I2S1O_DATA_OUT4_IDX            170
#define I2S1I_DATA_IN5_IDX            171
#define I2S1O_DATA_OUT5_IDX            171
#define I2S1I_DATA_IN6_IDX            172
#define I2S1O_DATA_OUT6_IDX            172
#define I2S1I_DATA_IN7_IDX            173
#define I2S1O_DATA_OUT7_IDX            173
#define I2S1I_DATA_IN8_IDX            174
#define I2S1O_DATA_OUT8_IDX            174
#define I2S1I_DATA_IN9_IDX            175
#define I2S1O_DATA_OUT9_IDX            175
#define I2S1I_DATA_IN10_IDX            176
#define I2S1O_DATA_OUT10_IDX            176
#define I2S1I_DATA_IN11_IDX            177
#define I2S1O_DATA_OUT11_IDX            177
#define I2S1I_DATA_IN12_IDX            178
#define I2S1O_DATA_OUT12_IDX            178
#define I2S1I_DATA_IN13_IDX            179
#define I2S1O_DATA_OUT13_IDX            179
#define I2S1I_DATA_IN14_IDX            180
#define I2S1O_DATA_OUT14_IDX            180
#define I2S1I_DATA_IN15_IDX            181
#define I2S1O_DATA_OUT15_IDX            181
#define I2S1O_DATA_OUT16_IDX            182
#define I2S1O_DATA_OUT17_IDX            183
#define I2S1O_DATA_OUT18_IDX            184
#define I2S1O_DATA_OUT19_IDX            185
#define I2S1O_DATA_OUT20_IDX            186
#define I2S1O_DATA_OUT21_IDX            187
#define I2S1O_DATA_OUT22_IDX            188
#define I2S1O_DATA_OUT23_IDX            189
#define I2S0I_H_SYNC_IDX            190
#define I2S0I_V_SYNC_IDX            191
#define I2S0I_H_ENABLE_IDX            192
#define I2S1I_H_SYNC_IDX            193
#define I2S1I_V_SYNC_IDX            194
#define I2S1I_H_ENABLE_IDX            195
#define U2RXD_IN_IDX            198
#define U2TXD_OUT_IDX            198
#define U2CTS_IN_IDX            199
#define U2RTS_OUT_IDX            199
#define EMAC_MDC_I_IDX            200
#define EMAC_MDC_O_IDX            200
#define EMAC_MDI_I_IDX            201
#define EMAC_MDO_O_IDX            201
#define EMAC_CRS_I_IDX            202
#define EMAC_CRS_O_IDX            202
#define EMAC_COL_I_IDX            203
#define EMAC_COL_O_IDX            203
#define PCMFSYNC_IN_IDX            204
#define BT_AUDIO0_IRQ_IDX            204
#define PCMCLK_IN_IDX            205
#define BT_AUDIO1_IRQ_IDX            205
#define PCMDIN_IDX            206
#define BT_AUDIO2_IRQ_IDX            206
#define BLE_AUDIO0_IRQ_IDX            207
#define BLE_AUDIO1_IRQ_IDX            208
#define BLE_AUDIO2_IRQ_IDX            209
#define PCMFSYNC_OUT_IDX            210
#define PCMCLK_OUT_IDX            211
#define PCMDOUT_IDX            212
#define BLE_AUDIO_SYNC0_P_IDX            213
#define BLE_AUDIO_SYNC1_P_IDX            214
#define BLE_AUDIO_SYNC2_P_IDX            215
#define ANT_SEL0_IDX            216
#define ANT_SEL1_IDX            217
#define ANT_SEL2_IDX            218
#define ANT_SEL3_IDX            219
#define ANT_SEL4_IDX            220
#define ANT_SEL5_IDX            221
#define ANT_SEL6_IDX            222
#define ANT_SEL7_IDX            223
#define SIG_IN_FUNC224_IDX            224
#define SIG_IN_FUNC225_IDX            225
#define SIG_IN_FUNC226_IDX            226
#define SIG_IN_FUNC227_IDX            227
#define SIG_IN_FUNC228_IDX            228
#define SIG_GPIO_OUT_IDX            256
#endif /* _SOC_GPIO_SIG_MAP_H_ */
